home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / prog / tge131.arj / REVISION.HST < prev    next >
Text File  |  1994-03-05  |  14KB  |  323 lines

  1.  
  2.                           *** REVISION HISTORY ***
  3.  
  4. This file contains notes regarding changes to TGE since its initial
  5. release.
  6.  
  7.  
  8. Legend:
  9. +    Addition or improvement.
  10. !    Changed feature.
  11. -    Bug fix.
  12. *    New information.
  13.  
  14.  
  15. ---------------------------------------------------------------------------
  16. TGE version 1.31, released Saturday 05 March 1994
  17. ---------------------------------------------------------------------------
  18.  
  19. +    Added the QUICKREF.DOC file.
  20.  
  21. !    Renamed the clipFilledRect() function to clipRect().
  22.  
  23. !    Renamed TGEFONT.CPP to FIXFONT.CPP and TGE.C to TGEFUNCS.C.
  24.  
  25. +    Registered users can now save up to about 22 kb of memory by
  26.      selectively commenting out a few #defines in TGE.H and compiling the
  27.      TGE library.  Following is a list of symbols and the features they
  28.      disable when they're not #defined:
  29.           TGE_USE_VIRTUAL_SCREENS       Virtual screen support
  30.           TGE_USE_OUTPUT_MODES          Output mode support
  31.           TGE_USE_REGION_FILLS          fillRegion()
  32.           TGE_USE_IMAGES                Bitmap-related functions
  33.           TGE_USE_ELLIPSES              ellipse- and circle-drawing
  34.           TGE_USE_COLOUR_APPROXIMATION  colourCloseTo() and
  35.                                         colourCloseToX()
  36.      The source for the disabled features is simply not compiled, and so
  37.      does not waste space in the executable or in memory.
  38.  
  39. -    Fixed a bug in setPaletteReg() and getPaletteReg() which caused the
  40.      two functions to confuse the green and blue colour components.  This
  41.      problem only showed itself in custom drivers which did not have
  42.      assembly versions of these routines.
  43.  
  44. -    imageSize() now clips to within the current input viewport, rather
  45.      than the output viewport.
  46.  
  47. -    Fixed a bug in TGEFUNCS.C's putImageInv() routine which would, under
  48.      very rare circumstances, cause the image to be output one line too low
  49.      down.
  50.  
  51. -    Fixed a bug in VARFONT.CPP which would cause VariableFont to become
  52.      confused when dealing with characters whose ASCII values were 128 or
  53.      higher.  Sometimes this confusion led to machine crashes.
  54.  
  55. +    Added some frequently used high-ASCII characters (ie. the lower-case
  56.      letters with accents on them) to BIGTEXT.FNT.
  57.  
  58. +    Added ANGULAR.FNT, a variable-sized font.  This font is available in
  59.      the registered version only.
  60.  
  61. *    Files which are not included in the shareware version of TGE are no
  62.      longer listed in the PACKING LIST section of TGE.DOC; they were marked
  63.      as present in the registered version only, but there was some
  64.      confusion anyway.
  65.  
  66. -    Fixed a bug in TGESETUP.C's TGE_loadFile() function.  If the file
  67.      FILE.EXT existed in the current directory, and TGE_loadFile was called
  68.      to load "FILE" with the assumed extension ".EXT", then the file would
  69.      not be found.
  70.  
  71. -    TGE no longer directly supports Chips & Tech SVGAs, as the support in
  72.      previous versions was buggy.  TGE will still support Chips & Tech
  73.      cards through VESA BIOS extensions, such as those provided by the
  74.      Universal VESA TSR.
  75.  
  76. *    Rewrote REGISTER.FRM, and renamed it to ORDER.FRM.
  77.  
  78.  
  79. ---------------------------------------------------------------------------
  80. TGE version 1.30, released Wednesday 05 January 1994
  81. ---------------------------------------------------------------------------
  82.  
  83. +    While debugging an application, I changed the 320x200 driver's
  84.      putLine() routine from the 32-bit code I'd recently written to a
  85.      slower byte-by-byte copying; I completely forgot to change it back
  86.      until after I'd released TGE 1.29ßD.
  87.  
  88. -    Fixed a problem in NEWMOUSE.ASM which caused the mouse sensitivity to
  89.      be incorrectly handled.
  90.  
  91. +    Added the PALETTE.C file, which contains the palette manipulation
  92.      routines fadePalette(), greyPalette(), rotatePalette().
  93.  
  94. +    Added the RAWFILE.C file, which contains the loadRawFile(),
  95.      displayRawFile(), and loadPalFile() routines.
  96.  
  97. +    Added the PCXFILE.C file, which contains the loadPcxFile(),
  98.      displayPcxFile(), and loadPcxFilePal() routines.
  99.  
  100. +    scaleBitmap() can now allocate memory for the scaled image, if
  101.      specified.
  102.  
  103. +    PCX2RAW now accepts wildcard filespecs, such as 'PCX2RAW pic*'.
  104.  
  105. -    Fixed a bug in NEWMOUSE.ASM which caused the minimum limits set by
  106.      setHorizLimitsMouse() and setVertLimitsMouse() to be ignored.
  107.  
  108. +    Added support for 256-colour fonts with characters of varying sizes,
  109.      by adding VARFONT.CPP.  A sample 256-colour font file, BIGTEXT.FNT, is
  110.      included.
  111.  
  112. +    Added MAKEFONT, a utility to create 256-colour fonts.  This utility is
  113.      in the TGE\UTIL directory.
  114.  
  115. !    Added the INCLUDE, DRIVERS, FONTS, and DEMO directories within \TGE,
  116.      and renamed the PCX2RAW directory to UTIL.  All drivers have been
  117.      moved to the DRIVERS directory; all fonts have been moved to the FONTS
  118.      directory; the demo program has been moved to the DEMO directory.
  119.  
  120. +    TGE now uses the environment variables TGEDRIVERS and TGEFONTS.  Now,
  121.      when loading drivers, if the specified driver file cannot be opened,
  122.      TGE will attempt to open it from the directory specified by the
  123.      TGEDRIVERS variable; similarly, loading fonts can be done
  124.      automatically from the directory specified by the TGEFONTS variable.
  125.  
  126. +    Added the Universal VESA TSR ("UNIVESA"), by Kendall Bennett, to the
  127.      TGE distribution package.  UNIVESA was not written by the author of
  128.      TGE, but is included with the TGE package as a courtesy to those
  129.      without VESA BIOS drivers for their SuperVGA cards.  It may also be of
  130.      use to TGE software developers, who are allowed to distribute UNIVESA
  131.      with their programs free of charge, so long as UNIVESA remains
  132.      unmodified.
  133.  
  134. -    TGE no longer directly supports Cirrus or Paradise SVGAs, as the
  135.      support in previous versions was buggy.  TGE will still support Cirrus
  136.      and Paradise cards through VESA BIOS extensions, such as those
  137.      provided by the Universal VESA TSR.
  138.  
  139. !    There are now two versions of TGE:  the shareware version and the
  140.      registered version.  The shareware version differs from the registered
  141.      version in that the source code is not included.
  142.  
  143. !    Renamed the Font class to FixedFont.  Some FixedFont member functions
  144.      have also been renamed; the changes are listed below, with the old
  145.      names on the left and the new names on the right:
  146.                wide                     width
  147.                maxWide                  maxWidth
  148.                deep                     height
  149.                maxDeep                  maxHeight
  150.      These changes were made because the old names were not as clear as the
  151.      new ones.  I apologize for any inconvenience these changes may cause.
  152.  
  153. +    Added the imageWidth() and imageDepth() routines, which are really
  154.      macros implemented in TGE.H.
  155.  
  156. !    Removed MAKELIB.BAT and TGE.LIB.  These files have been replaced with
  157.      BCL.LIB (Borland C++ large model), BCL.MAK (makefile for BCL.LIB),
  158.      BCH.LIB (Borland C++ huge model), and BCH.MAK (makefile for BCH.LIB).
  159.      Rather than using MAKELIB.BAT, these libraries may be generated by
  160.      running 'MAKE -fbcl.mak' or 'MAKE -fbch.mak'.
  161.  
  162.  
  163. ---------------------------------------------------------------------------
  164. TGE version 1.29ßD (public beta), released Saturday 11 September 1993
  165. ---------------------------------------------------------------------------
  166.  
  167. +    Fonts are now stored in memory in bit-image format, and converted on
  168.      the fly to byte-image format for display using putImageInv().  Font
  169.      speed is marginally degraded, but memory requirements for fonts are
  170.      significantly lowered.
  171.  
  172. -    The phone number to call to download the newest version of TGE has
  173.      been changed to the correct number.  Sorry about that...
  174.  
  175. -    TGE's assembler files will now assemble correctly with Turbo Assembler
  176.      version 3.0, and presumably with newer versions as well.
  177.  
  178. *    Moved the revision history from TGE.DOC to this file.
  179.  
  180. +    Added the clipInputPoint() and clipOutputPoint() macros for clipping
  181.      of points to either the input or the output viewport.
  182.  
  183. +    Added makefiles for TGEDEMO.EXE and TGE.LIB:  TGEDEMO.MAK and
  184.      TGELIB.MAK, respectively.  (TGELIB.MAK requires TGELIB.LST.)
  185.  
  186. +    Added an optimized assembler putLineInv_mem_copy routine to each of
  187.      the drivers.  This change will greatly speed up putImageInv()'s output
  188.      to virtual screens.
  189.  
  190. -    When outputting to a virtual screen using the 800x600 driver,
  191.      horizLine() will no longer erroneously output to the physical screen
  192.      rather than the virtual screen.
  193.  
  194. +    Moved a good deal of setup and initialization code from TGE.C to a new
  195.      file, TGESETUP.C.  If overlays are being used, TGESETUP.C can be
  196.      overlaid so that it won't need to be in memory at all times, freeing
  197.      up about 15 kb of memory.  TGE.C should not be overlaid under most
  198.      circumstances so that it performs at maximum speed.
  199.  
  200. +    Moved all of TGE into a single archive with sub-directories, rather
  201.      than the main archive and a separate archive within it for each
  202.      directory.  TGE129D.ARJ will need to be extracted with a procedure
  203.      similar to this:
  204.           md d:\tge
  205.           arj x tge129d d:\tge
  206.  
  207. -    TGE.DOC contained incorrect names for setGraphicsAddr(),
  208.      setGraphicsInputAddr(), and setGraphicsOutputAddr() functions, and did
  209.      not document getGraphicsInputAddr() or getGraphicsOutputAddr() at all.
  210.  
  211. !    Renamed setOutputMode() to setGraphicsOutputMode().
  212.  
  213. -    When run without a Microsoft or compatable mouse driver loaded,
  214.      TGEDEMO would display the sign-off screens twice upon exit.  Fixed.
  215.  
  216. -    The 320x240, 320x400, and 360x480 drivers did not preserve the value
  217.      of the DI register when clearGraphics() was called.  Fixed.
  218.  
  219. +    The drivers now use 32-bit 386 code in many more places, boosting
  220.      speed a bit.
  221.  
  222. +    Optimized the putPixel() code in the 320x240, 320x400, and 360x480
  223.      drivers.
  224.  
  225. +    Added the LIB directory, in which there is now a MAKELIB.BAT file to
  226.      automatically build TGE.LIB with your compiler.  There is also a copy
  227.      of TGE.LIB, built from OBJ files produced by Borland C++ 2.0 and Turbo
  228.      Assembler 3.0.
  229.  
  230. +    Fixed a bug in NEWMOUSE.ASM which would sometimes cause the wrong
  231.      memory areas to be used as the pointer image.
  232.  
  233.  
  234. ---------------------------------------------------------------------------
  235. TGE version 1.29ßC (public beta), released Friday 20 August 1993
  236. ---------------------------------------------------------------------------
  237.  
  238. +    Added support for virtual screens.
  239.  
  240. +    Added support for graphics output using COPY, AND, NOT, OR, and XOR,
  241.      even to virtual screens.
  242.  
  243. +    TGE can now output to and input from different places.  For example,
  244.      it is possible to use a virtual screen for its input whilst using the
  245.      real screen for its output, or vice-versa.  There are now separate
  246.      input and an output viewports.
  247.  
  248. +    Added the virtual coordinate system, via VCOORD.H.
  249.  
  250. -    Fixed a bug in NEWMOUSE.ASM which would, under rare circumstances,
  251.      corrupt portions of the screen.
  252.  
  253. !    To avoid memory problems, the palette is no longer saved/restored
  254.      automatically during text/graphics mode switches.
  255.  
  256. !    setBlockPalette() and getBlockPalette() are now no longer called with
  257.      the first register and the number of registers to change, but with the
  258.      first register and the last register.  This change could make some
  259.      future changes easier.
  260.  
  261. +    Improved documentation, describing the font file structure and how to
  262.      use the PCX2RAW utility and its output.
  263.  
  264. +    TGE can now scale bitmaps, using the scaleBitmap() function.
  265.  
  266. +    Added the imageSizeDim(), putLineInv(), and vertLine() functions.
  267.  
  268. -    Fixed a horrible SVGA bug which caused TGE to work incorrectly on all
  269.      SVGAs with bank sizes other than 64K.
  270.  
  271.  
  272. ---------------------------------------------------------------------------
  273. TGE version 1.20, released Wednesday 05 May 1993
  274. ---------------------------------------------------------------------------
  275.  
  276. +    Added support for loadable fonts, viewports, colour approximation, and
  277.      region fills.
  278.  
  279. !    Rewrote the loadGraphDriver() function; it now returns more
  280.      descriptive values.
  281.  
  282. +    Added various clipping routines:  clipLine() and clipFilledRect() in
  283.      CLIP.C, and clipPoint() and pointOnScreen() as macros in TGE.H.
  284.  
  285. -    Fixed aspect ratio problem in 360x480 driver.
  286.  
  287. -    Fixed bug in the 800x600 driver when run with the Trident 8900
  288.      chipset.
  289.  
  290. +    Added the REGISTER.FRM file.
  291.  
  292.  
  293. ---------------------------------------------------------------------------
  294. TGE version 1.10, released Friday 12 April 1993
  295. ---------------------------------------------------------------------------
  296.  
  297. -    Improved and debugged SuperVGA support.  Bugs squashed include the
  298.      infamous Trident and Oak bugs.
  299.  
  300. +    Added drivers for VGA 360x480 and SuperVGA 1024x768.
  301.  
  302. +    Added interrupt-driven definable mouse pointer services, as well as
  303.      miscellaneous mouse routines.
  304.  
  305. -    Fixed default palette routines to do translation between 6-bit and
  306.      8-bit values.
  307.  
  308. +    Added ellipse(), filledEllipse(), circle(), and filledCircle().
  309.  
  310. +    Added PCX2RAW, a utility to convert 256-colour PCX files into raw
  311.      bitmap and raw palette files, making importing graphics easy.
  312.  
  313.  
  314. ---------------------------------------------------------------------------
  315. TGE version 1.01, released Saturday 23 January 1993
  316. ---------------------------------------------------------------------------
  317.  
  318. *    First public release.
  319.  
  320.  
  321.  
  322. End of document.
  323.